웹 개발

퍼플심_03_블루팀 시뮬레이션 구현

작성자 : Heehyeon Yoo|2026-01-07
# BlueTeam# Splunk# CrowdStrike# Zeek# Simulation

원인을 알 수 없는 로그

시나리오는 아까 레드팀과 동일한 React2Shell이다.
하지만 입장이 다르다. 블루팀(보안 담당자)은 현재 이 공격이 0-day 취약점이라는 것을 전혀 모르는 상태다.
(실제로는 0-day가 아니지만.... 시나리오 상)

메신저를 통해 관련 업무 플로우가 시작되고, 사용자는 블루팀 팀장이 되어 분석을 시작해야 한다.
이미 정답을 알고 있는 게 아니라 현상에서 출발해 원인(Root Cause)을 찾아가는 과정을 경험하게 하는 것이 목표다.

실무 도구 인터페이스 구현

분석을 하려면 도구가 필요하다.
로그 분석, 엔드포인트 분석, 네트워크 분석, 대응 콘솔...
실제 관제 업무에서 사용하는 도구들의 인터페이스를 최대한 유사하게 구현하려고 노력했다.

완벽하게 똑같을 수는 없지만,
"아, 실무에서는 이런 화면에서 이런 흐름으로 분석하는구나"라는 경험을 주는 데 초점을 맞췄다.

1. SIEM 도구(Splunk Style)


로그 스키마가 복잡한 Splunk를 구현하면서 가장 신경 쓴 건 '검색 경험'이다.
불필요한 설정 화면은 다 쳐내고, 검색창(SDL)과 이벤트 뷰어만 남겼다.

사용자는 가이드를 따라 index=web status=500 같은 쿼리를 직접 입력해본다.
수만 건의 로그 속에서 내가 원하는 조건을 입력해 범위를 좁혀나가는(Drill-down) 경험을 준다.
현재는 시나리오에 필요한 필수 쿼리들만 우선 구현했지만,
추후 시나리오가 늘어나면 더 다양한 검색 조건을 테스트해볼 수 있도록 확장할 예정이다.

2. EDR 도구(CrowdStrike Falcon Style)


엔드포인트 분석의 핵심은 프로세스 트리다.
단순히 "악성코드가 실행됨"이라고 텍스트로 뜨는 게 아니라,
node.exe 하위에서 sh가 실행되고, 그 밑에서 python이 실행되는 계층 구조를 시각화했다.

이 트리를 보는 순간 직관적으로 알 수 있다.
"아, 웹 서버 프로세스가 털려서 쉘이 실행됐구나."
아직 데이터가 투박하긴 하지만, 공격의 맥락을 파악하는 데는 충분하다. 물론 더 추가할 것이다.

3. NDR 도구(Zeek Style)


네트워크 분석은 Zeek의 인터페이스를 차용했다.
패킷 하나하나를 까보는 게 아니라, 통신 흐름(Flow)을 보여주는 방식이다.
외부의 낯선 IP와 우리 내부 서버가 어떤 포트로 통신했는지 테이블 형태로 보여준다.

앞으로

뼈대는 갖춰졌지만, 리얼리티를 살리기 위해선 '데이터의 질'을 높여야 한다.
지금은 정답에 가까운 로그들만 잘 보이는 상태지만,
실제로는 엄청난 양의 정상 트래픽(노이즈) 속에 공격 로그가 숨어 있어야 한다.

앞으로는 더 정교한 노이즈 데이터를 추가하고,
실무자들이 실제로 겪는 "이게 공격이야, 오탐이야?" 하는 고민의 순간들을 시나리오에 녹여낼 것이다.